package testebancodedados;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Filme extends Entity {
    private int codigo;
    private String nome;

    Filme(String codigo, String nome) {
        this.codigo = Integer.parseInt(codigo);
        this.nome = nome;
    }

    String getNome() {
        return nome;
    }
    
    @Override
    public String tableName(){
        return "locadora.filme";
    }

    @Override
    public String attributes() {
        return "codigo, nome";
    }

    @Override
    public String numAtt() {
        return "?, ?";
    }

    @Override
    public void setInsert(PreparedStatement st) {
        try {
            st.setInt(1, codigo);
            st.setString(2, nome);
        } catch (SQLException ex) {
            Logger.getLogger(Filme.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    public int getCodigo() {
        return codigo;
    }

    @Override
    public void setAtt(ResultSet rs) {
        try {
            rs.next();
            nome = rs.getString(1);
        } catch (SQLException ex) {
            Logger.getLogger(Filme.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    public String attLessCod() {
        return "nome=?";
    }

    @Override
    public void setUpdate(PreparedStatement st) {
        try {
            st.setInt(2, codigo);
            st.setString(1, nome);
        } catch (SQLException ex) {
            Logger.getLogger(Filme.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    String getKey() {
        return "codigo=?";
    }

    @Override
    public void setKey(PreparedStatement st) {
        try {
            st.setInt(1, codigo);
        } catch (SQLException ex) {
            Logger.getLogger(Locacao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    @Override
    String getCollums() {
        return "nome";
    }
    
}
